package com.onlinesshop.mall.service;

import com.onlinesshop.mall.pojo.Product;

import java.util.List;

public interface ProductService {
    /**
     * 查询所有产品
     * @return
     */
    List<Product> findAllProducts();

    /**
     * 通过产品id查询一个产品信息
     * @param id 产品id
     * @param page 代表当前页码
     * @param  size 代表每个页面要展示的条数
     * @return
     */
    List<Product> findByCategoryId(int id,int page,int size);

    /**
     * 通过产品id查询一个产品信息
     * @param id 产品id
     * @return
     */
    Product findByProductId(int id );

    /**
     * 通过条件查询产品信息
     * @param name 条件名称
     * @param page 代表当前页码
     * @param  size 代表每个页面要展示的条数
     * @return
     */
    List<Product> findByName(String name,int page,int size);

    /**
     * 随机查询
     * @return
     */
    List<Product> findRandom(int num);

    /**
     * 根据库存量从高到低查询产品
     * @param id 产品id
     * @param page 代表当前页码
     * @param  size 代表每个页面要展示的条数
     * @return
     */
    List<Product> findStock(int id,int page,int size);

    /**
     * 根据价格从高到低查询
     * @param id 产品id
     * @param page 代表当前页码
     * @param  size 代表每个页面要展示的条数
     * @return
     */
    List<Product> findGroupByPrice(int id,int page,int size);

    /**
     * 根据分类id来查询多条产品
     * @param num
     * @param categoryId
     * @return
     */
    List<Product> findByCategoryIdRandom(int categoryId,int num);
}
